package cn.com.sinux.spring.utils;

import java.util.Calendar;
import java.util.UUID;

public class UploadUtils {
    /**
     * 截取真实文件名
     *
     * @param fileName
     * @return
     */
    public static String subFileName(String fileName) {
        // 查找最后一个 \出现位置
        int index = fileName.lastIndexOf("\\");
        if (index == -1) {
            return fileName;
        }
        return fileName.substring(index + 1);
    }

    /**
     * 生成随机的UUID文件名
     *
     * @param fileName
     * @return
     */
    public static String generateRandonFileName(String fileName) {
        // 获得扩展名
        String ext = fileName.substring(fileName.lastIndexOf("."));
        return UUID.randomUUID().toString() + ext;
    }

    /**
     * 根据日期生成年/月/日三级目录
     *
     * @return
     */
    public static String generateRandomDir() {
        Calendar a = Calendar.getInstance();
        // 一级目录
        int d1 = a.get(Calendar.YEAR);
        // 二级目录
        int d2 = a.get(Calendar.MONTH) + 1;
        //三级目录
        int d3 = a.get(Calendar.DAY_OF_MONTH);
        return "/" + d1 + "/" + d2 + "/" + d3;
    }

    /**
     * 通过读取properties配置信息获得文件上传保存路径
     * @return String 路径
     */
//    public static String readPropertiesForPath(){
//        Properties prop = new Properties();
//        //获取配置文件
//        InputStream in = Object.class.getResourceAsStream("/service.properties");
//        String path="";
//        try {
//            prop.load(in);
//            //获取配置文件内相关属性信息
//            path=prop.getProperty("trunk.root.path");
//        } catch (IOException e) {
//            System.err.println("service.properties配置文件中未配置trunk.root.path项！");
//            e.printStackTrace();
//        }
//        return path;
//    }
}
